package com.siwei.mes.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;


/**
 * 砼行工程表(Project)实体类
 *
 * @author makejava
 * @since 2023-11-30 15:44:58
 */
@Data
@Table(name = "project")
@Accessors(chain = true)
@ApiModel(value = "Project", description = "砼行工程表")
public class Project implements Serializable {
    private static final long serialVersionUID = -21145467510323343L;
    /**
     * 工程ID
     */
    @Id
    @ApiModelProperty(value = "砼行工程表主键ID", name = "id")
    private Long id;
    /**
     * 工程名称
     */
    @Column(name = "projectName")
    @ApiModelProperty(value = "工程名称", name = "projectname")
    private String projectName;
    /**
     * 工程简称
     */
    @Column(name = "projectAbbreviation")
    @ApiModelProperty(value = "工程简称", name = "projectabbreviation")
    private String projectAbbreviation;
    /**
     * 工程编号
     */
    @Column(name = "projectNumber")
    @ApiModelProperty(value = "工程编号", name = "projectnumber")
    private String projectNumber;
    /**
     * 联系人
     */
    @Column(name = "linkman")
    @ApiModelProperty(value = "联系人", name = "linkman")
    private String linkman;
    /**
     * 联系电话
     */
    @Column(name = "tel")
    @ApiModelProperty(value = "联系电话", name = "tel")
    private String tel;
    /**
     * 地址
     */
    @Column(name = "projectAdd")
    @ApiModelProperty(value = "地址", name = "projectadd")
    private String projectAdd;
    /**
     * 浇筑部位
     */
    @Column(name = "jzbw")
    @ApiModelProperty(value = "浇筑部位", name = "jzbw")
    private String jzbw;
    /**
     * 经度
     */
    @Column(name = "longitude")
    @ApiModelProperty(value = "经度", name = "longitude")
    private Double longitude;
    /**
     * 纬度
     */
    @Column(name = "latitude")
    @ApiModelProperty(value = "纬度", name = "latitude")
    private Double latitude;
    /**
     * 发货合同数
     */
    @Column(name = "deliverContactNum")
    @ApiModelProperty(value = "发货合同数", name = "delivercontactnum")
    private Float deliverContactNum;
    /**
     * 收货单位数
     */
    @Column(name = "receiveCompanyNum")
    @ApiModelProperty(value = "收货单位数", name = "receivecompanynum")
    private Float receiveCompanyNum;
    /**
     * 累计方数
     */
    @Column(name = "totalVolume")
    @ApiModelProperty(value = "累计方数", name = "totalvolume")
    private Float totalVolume;
    /**
     * 累计车数
     */
    @Column(name = "totalCarNum")
    @ApiModelProperty(value = "累计车数", name = "totalcarnum")
    private Float totalCarNum;
    /**
     * 任务单数
     */
    @Column(name = "taskListNum")
    @ApiModelProperty(value = "任务单数", name = "tasklistnum")
    private Float taskListNum;
    /**
     * 添加人编号
     */
    @Column(name = "addManNumber")
    @ApiModelProperty(value = "添加人编号", name = "addmannumber")
    private Integer addManNumber;
    /**
     * 添加时间
     */
    @Column(name = "addTime")
    @ApiModelProperty(value = "添加时间", name = "addtime")
    private Date addTime;
    /**
     * 状态1.正常 0-作废
     */
    @Column(name = "state")
    @ApiModelProperty(value = "状态1.正常 0-作废", name = "state")
    private Integer state;
    /**
     * 搅拌站ID
     */
    @Column(name = "deliverCompanyId")
    @ApiModelProperty(value = "搅拌站ID", name = "delivercompanyid")
    private Integer deliverCompanyId;
    /**
     * 收货公司id
     */
    @Column(name = "receiveCompanyId")
    @ApiModelProperty(value = "收货公司id", name = "receivecompanyid")
    private Integer receiveCompanyId;
    /**
     * 收货公司名称
     */
    @Column(name = "receiveCompanyName")
    @ApiModelProperty(value = "收货公司名称", name = "receivecompanyname")
    private String receiveCompanyName;
    /**
     * 主工程ID
     */
    @Column(name = "masterProjectId")
    @ApiModelProperty(value = "主工程ID", name = "masterprojectid")
    private Integer masterProjectId;
    /**
     * 围栏ID
     */
    @Column(name = "siteId")
    @ApiModelProperty(value = "围栏ID", name = "siteid")
    private Integer siteId;
    /**
     * 签收拍照模式 0: 驾驶员拍照, 1: 管理员拍照
     */
    @Column(name = "signPhotoType")
    @ApiModelProperty(value = "签收拍照模式 0: 驾驶员拍照, 1: 管理员拍照", name = "signphototype")
    private Integer signPhotoType;
    /**
     * 推荐路线小票id
     */
    @Column(name = "recommendTrackItemOrderId")
    @ApiModelProperty(value = "推荐路线小票id", name = "recommendtrackitemorderid")
    private Integer recommendTrackItemOrderId;
    /**
     * 推荐路线司机id
     */
    @Column(name = "recommendTrackUserId")
    @ApiModelProperty(value = "推荐路线司机id", name = "recommendtrackuserid")
    private Integer recommendTrackUserId;
    /**
     * 工程组ID
     */
    @Column(name = "pgId")
    @ApiModelProperty(value = "工程组ID", name = "pgid")
    private Integer pgId;
    /**
     * 工程半径
     */
    @Column(name = "projectRadius")
    @ApiModelProperty(value = "工程半径", name = "projectradius")
    private Float projectRadius;
    /**
     * 运距 单位km
     */
    @Column(name = "distance")
    @ApiModelProperty(value = "运距 单位km", name = "distance")
    private Float distance;

    @Column(name = "extra")
    private String extra;
    /**
     * 地址Md5
     */
    @Column(name = "md5Addr")
    @ApiModelProperty(value = "地址Md5", name = "md5addr")
    private String md5Addr;
    /**
     * 监督号
     */
    @Column(name = "supervNo")
    @ApiModelProperty(value = "监督号", name = "supervno")
    private String supervNo;
    /**
     * 工程地址省份
     */
    @Column(name = "projectAddrProvince")
    @ApiModelProperty(value = "工程地址省份", name = "projectaddrprovince")
    private String projectAddrProvince;
    /**
     * 重心对接码
     */
    @Column(name = "dockingCode")
    @ApiModelProperty(value = "重心对接码", name = "dockingcode")
    private String dockingCode;
    /**
     * 砼行id
     */
    @Column(name = "th_id")
    @ApiModelProperty(value = "砼行id", name = "thId")
    private String thId;
    /**
     * tglId
     */
    @Column(name = "tgl_id")
    @ApiModelProperty(value = "tglId", name = "tglId")
    private String tglId;

    /**
     * 合同id  对应contract中的CID
     */
    @Column(name = "contract_id")
    @ApiModelProperty(value = "contract_id")
    private Long contractId;

    @Transient
    @ApiModelProperty("累计抽检")
    private Long experimentCount;

    @Transient
    @ApiModelProperty("抽检异常")
    private Long experimentExpCount;
}
